package dao.hibernate;

import java.util.List;

import model.Produto;

import org.hibernate.Query;

import dao.ProdutoDao;

/**
 * @author Andre R.F.
 * @since 1.0
 */
@SuppressWarnings("unchecked")
public class ProdutoDaoHibernate extends AbstractDaoHibernate implements
		ProdutoDao {

	@Override
	public List<Produto> findAll() {
		return getSession().createQuery("from Produto").list();
	}

	@Override
	public Produto findById(Long id) {

		Query query = getSession().createQuery("from Produto where id=:id");
		query.setLong("id", id);
		return (Produto) query.uniqueResult();
	}

	@Override
	public void remove(Produto produto) {

		getSession().delete(produto);
	}

	@Override
	public void save(Produto produto) {
		getSession().saveOrUpdate(produto);
	}
}
